﻿using YNTK.Common.Const;
using SqlSugar;

namespace YNTK.Employees.Entitys.Entity
{
    /// <summary>
    /// 员工信息基类
    /// </summary>
    [SugarTable("employees_rosters")]
    [Tenant(ClaimConst.TENANT_ID)]
    public class EmployeesEntity
    {
        /// <summary>
        /// 员工id
        /// </summary>
        [SugarColumn(ColumnName = "F_Id", ColumnDescription = "员工id")]
        public string Id { get; set; }

        /// <summary>
        /// 在岗情况(0.正常 1.请假 2.出差)
        /// </summary>
        [SugarColumn(ColumnName = "F_DutyState", ColumnDescription = "在岗情况(0.正常 1.请假 2.出差)")]
        public int? DutyState { get; set; }

        /// <summary>
        /// 所属组织id
        /// </summary>
        [SugarColumn(ColumnName = "F_OrganizeId", ColumnDescription = "所属组织id", ColumnDataType = "nvarchar(50)")]
        public string OrganizeId { get; set; }

        /// <summary>
        /// 所属机构id
        /// </summary>
        [SugarColumn(ColumnName = "F_MechanismId", ColumnDescription = "所属机构id")]
        public string MechanismId { get; set; }

        /// <summary>
        /// 所属角色id
        /// </summary>
        [SugarColumn(ColumnName = "F_RoleId")]
        public string RoleId { get; set; }

        /// <summary>
        /// 用户名
        /// </summary>
        [SugarColumn(ColumnName = "F_Account")]
        public string Account { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [SugarColumn(ColumnName = "F_RealName")]
        public string RealName { get; set; }

        /// <summary>
        /// 员工编号
        /// </summary>
        [SugarColumn(ColumnName = "F_Code", ColumnDescription = "员工编号")]
        public string Code { get; set; }

        /// <summary>
        /// 身份证号码
        /// </summary>
        [SugarColumn(ColumnName = "F_CertificatesNumber")]
        public string CertificatesNumber { get; set; }

        /// <summary>
        /// 性别(1.男 2.女 3.未知)
        /// </summary>
        [SugarColumn(ColumnName = "F_Sex")]
        public int? Sex { get; set; }

        /// <summary>
        /// 头像/个人照片
        /// </summary>
        [SugarColumn(ColumnName = "F_HeadIcon")]
        public string HeadIcon { get; set; }

        /// <summary>
        /// 手机号
        /// </summary>
        [SugarColumn(ColumnName = "F_MobilePhone")]
        public string MobilePhone { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        [SugarColumn(ColumnName = "F_TelePhone")]
        public string TelePhone { get; set; }

        /// <summary>
        /// 固定电话
        /// </summary>
        [SugarColumn(ColumnName = "F_Landline")]
        public string Landline { get; set; }

        /// <summary>
        /// 邮箱
        /// </summary>
        [SugarColumn(ColumnName = "F_Email")]
        public string Email { get; set; }

        /// <summary>
        /// 民族
        /// </summary>
        [SugarColumn(ColumnName = "F_Nation")]
        public string Nation { get; set; }

        /// <summary>
        /// 籍贯
        /// </summary>
        [SugarColumn(ColumnName = "F_NativePlace")]
        public string NativePlace { get; set; }

        /// <summary>
        /// 户籍地址
        /// </summary>
        [SugarColumn(ColumnName = "F_DomicileAddress")]
        public string DomicileAddress { get; set; }

       /// <summary>
       /// 常住地址
       /// </summary>
        [SugarColumn(ColumnName = "F_PermanentAddress")]
        public string PermanentAddress { get; set; }

        /// <summary>
        /// 最高学历(0.学前教育 1.小学 2.初中 3.中专 4.高中 5.专科 6.本科 7.硕士研究生 8.博士研究生)
        /// </summary>
        [SugarColumn(ColumnName = "F_Education", ColumnDescription = "最高学历")]
        public int? Education { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [SugarColumn(ColumnName = "F_CreatorTime", ColumnDescription = "创建时间")]
        public DateTime? CreatorTime { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        [SugarColumn(ColumnName = "F_LastModifyTime", ColumnDescription = "修改时间")]
        public DateTime? LastModifyTime { get; set; }

        /// <summary>
        /// 劳动关系(0.抽调 1.合同工 2.派遣)
        /// </summary>
        [SugarColumn(ColumnName = "F_LaborRelations", ColumnDescription = "劳动关系(0.抽调 1.合同工 2.派遣)")]
        public int? LaborRelations { get; set; }

        /// <summary>
        /// 入职日期
        /// </summary>
        [SugarColumn(ColumnName = "F_DateEntry", ColumnDescription = "入职日期")]
        public DateTime? DateEntry { get; set; }

        /// <summary>
        /// 员工状态(0.实习生 1.试用 2.兼职 3.在职 4.离职 5.停职留薪 6.退休 7.返聘)
        /// </summary>
        [SugarColumn(ColumnName = "F_State", ColumnDescription = "员工状态(0.实习生 1.试用 2.兼职 3.在职 4.离职 5.停职留薪 6.退休 7.返聘)")]
        public int? State { get; set; }

        /// <summary>
        /// 薪酬方式(0.年薪制 1.月薪制)
        /// </summary>
        [SugarColumn(ColumnName = "F_PayWay", ColumnDescription = "薪酬方式(0.年薪制 1.月薪制)")]
        public int? PayWay { get; set; }

        /// <summary>
        /// 是否临时用工
        /// </summary>
        [SugarColumn(ColumnName = "F_TemporaryWork", ColumnDescription = "是否临时用工", ColumnDataType = "bit")]
        public bool TemporaryWork { get; set; }

        /// <summary>
        /// 出生日期
        /// </summary>
        [SugarColumn(ColumnName = "F_DateBirth", ColumnDescription = "出生日期")]
        public DateTime? DateBirth { get; set; }      

        /// <summary>
        /// 婚姻状态(0.未婚 1.已婚 2.丧偶 3.离异 4.其它)
        /// </summary>
        [SugarColumn(ColumnName = "F_MaritalState", ColumnDescription = "婚姻状态(0.未婚 1.已婚 2.丧偶 3.离异 4.其它)")]
        public int? MaritalState { get; set; }

        /// <summary>
        /// 政治面貌(0.中共党员 1.中共预备党员 2.共青团员 3.无党派人士 4.群众)
        /// </summary>
        [SugarColumn(ColumnName = "F_PoliticalLandscape", ColumnDescription = "政治面貌(0.中共党员 1.中共预备党员 2.共青团员 3.无党派人士 4.群众)")]
        public int? PoliticalLandscape { get; set; }

        /// <summary>
        /// 入党日期
        /// </summary>
        [SugarColumn(ColumnName = "F_PartyDate", ColumnDescription = "入党日期")]
        public DateTime? PartyDate { get; set; }

        /// <summary>
        /// 户口性质(0.农业户口 1.居民户口 2.农村户口 3.集体户口)
        /// </summary>
        [SugarColumn(ColumnName = "F_HouseholdRegister", ColumnDescription = "户口性质(0.农业户口 1.居民户口 2.农村户口 3.集体户口)")]
        public int? HouseholdRegister { get; set; }

        /// <summary>
        /// 工资卡号
        /// </summary>
        [SugarColumn(ColumnName = "F_WagesCardNumber", ColumnDescription = "工资卡号")]
        public string WagesCardNumber { get; set; }

        /// <summary>
        /// 开户行
        /// </summary>
        [SugarColumn(ColumnName = "F_BankDeposit", ColumnDescription = "开户行")]
        public string BankDeposit { get; set; }

        /// <summary>
        /// 网点
        /// </summary>
        [SugarColumn(ColumnName = "F_Branches", ColumnDescription = "网点")]
        public string Branches { get; set; }

        /// <summary>
        /// 身份证正面
        /// </summary>
        [SugarColumn(ColumnName = "F_FrontIdentityCard", ColumnDescription = "身份证正面")]
        public string FrontIdentityCard { get; set; }

        /// <summary>
        /// 身份证反面
        /// </summary>
        [SugarColumn(ColumnName = "F_ReverseSideIdentityCard", ColumnDescription = "身份证反面")]
        public string ReverseSideIdentityCard { get; set; }

        /// <summary>
        /// 个人简历文件存储地址
        /// </summary>
        [SugarColumn(ColumnName = "F_CurriculumVitae", ColumnDescription = "个人简历文件存储地址")]
        public string CurriculumVitae { get; set; }

        /// <summary>
        /// 签名文件图片服务器存储路径
        /// </summary>
        [SugarColumn(ColumnName = "F_Signature", ColumnDescription = "签名文件图片服务器存储路径")]
        public string Signature { get; set; }
    }
}
